home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1998 August: Tool Chest / Dev.CD Aug 98 TC.toast / Sample Code / Overview / OOPTESample / UApplication.p < prev    next >
Encoding:
Text File  |  1994-11-18  |  3.9 KB  |  114 lines  |  [TEXT/MPS ]

  1. {---------------------------------------------------------------------
  2. #
  3. #    Apple Macintosh Developer Technical Support
  4. #
  5. #    MultiFinder-Aware Simple TextEdit Sample Application
  6. #
  7. #    OOPTESample
  8. #
  9. #    UApplication.p        -    Pascal Source
  10. #
  11. #    Copyright © 1988, 1989 Apple Computer, Inc.
  12. #    All rights reserved.
  13. #
  14. #    Versions:        
  15. #                    1.00                    04/89
  16. #                    1.10                    02/90
  17. #                    1.11                    10/92
  18. #
  19. #    Components:     
  20. #                    BuildOOPTESample            February 1, 1990
  21. #                    MTESample.p                    February 1, 1990
  22. #                    OOPTESample.make            February 1, 1990
  23. #                    TECommon.h                    February 1, 1990
  24. #                    TESampleGlue.a                February 1, 1990
  25. #                    TESample.r                    February 1, 1990
  26. #                    TMLRules.make                February 1, 1990
  27. #                    UApplication.p                February 1, 1990
  28. #                    UApplication.inc1.p            February 1, 1990
  29. #                    UDocument.p                    February 1, 1990
  30. #                    UDocument.inc1.p            February 1, 1990
  31. #                    UTEDocument.p                February 1, 1990
  32. #                    UTEDocument.inc1.p            February 1, 1990
  33. #                    UTESample.p                    February 1, 1990
  34. #                    UTESample.inc1.p            February 1, 1990
  35. #
  36. ---------------------------------------------------------------------}
  37.  
  38. UNIT UApplication;
  39.  
  40. INTERFACE
  41.  
  42. USES
  43.     Types, QuickDraw, Events, OSUtils, ToolUtils, SegLoad, Fonts, Traps, Devices,
  44.     Menus, Memory, Controls, TextEdit, Windows, Dialogs,
  45.     ObjIntf, UDocument;
  46.  
  47. PROCEDURE AlertUser(errResID:integer; errCode:integer);
  48.  
  49. TYPE
  50.     TApplication = OBJECT(TObject)
  51.         fHaveWaitnextEvent: Boolean;
  52.         fDone: Boolean;
  53.         fTheEvent: EventRecord;
  54.         fWhichWindow: WindowPtr;
  55.         fInBackGround: Boolean;
  56.         fWantFrontClicks: Boolean;
  57.         fMouseRgn: RgnHandle;
  58.         fCurDoc: TDocument;
  59.         fDocList: TDocumentList;
  60.         
  61.         { Initialize our application and instance variables }
  62.         PROCEDURE TApplication.IApplication;
  63.         
  64.         { Call this routine to start event loop running }
  65.         PROCEDURE TApplication.EventLoop;
  66.         
  67.         { Loop control methods you may need to override }
  68.         PROCEDURE TApplication.Setup;        { Run before event loop starts }
  69.         PROCEDURE TApplication.CleanUp;        { Run at end of loop }
  70.         PROCEDURE TApplication.ExitLoop;    { Call this to exit loop }
  71.         PROCEDURE TApplication.DoIdle;        { Idle time handler (blink caret, background tasks) }
  72.         PROCEDURE TApplication.AdjustMenus;    { Menu Updater routine }
  73.         
  74.         { Event Handlers you shouldn't need to override in a typical application }
  75.         PROCEDURE TApplication.HdlOSEvent;        { Calls DoSuspend, DoResume and DoIdle as apropos }
  76.         PROCEDURE TApplication.HdlMouseDown;    { Calls DoContent, DoGrow, DoZoom, etc }
  77.         PROCEDURE TApplication.HdlKeyDown;        { also called for autokey events }
  78.         PROCEDURE TApplication.HdlActivateEvt;    { handles setup, and calls DoActivate (below) }
  79.         PROCEDURE TApplication.HdlUpdateEvt;    { handles setup, and calls DoUpdate (below) }
  80.         PROCEDURE TApplication.HdlMouseUp;
  81.         PROCEDURE TApplication.HdlDiskEvt;
  82.         PROCEDURE TApplication.MouseInSysWindow;
  83.         PROCEDURE TApplication.DoDrag;
  84.         PROCEDURE TApplication.DoGoAway;    { handles setup, calls DoClose (below) }
  85.         
  86.         { Handlers you will need to override for functionality }
  87.         
  88.             { Called by EventLoop and its handlers }
  89.             PROCEDURE TApplication.AdjustCursor;    { cursor adjust routine, should setup mouseRgn }
  90.             PROCEDURE TApplication.DoMenuCommand(menuID,menuItem: integer);
  91.             
  92.             { Called by OSEvent. Just calls DoActivate by default, so no clip conversion }
  93.             { is done. If you want to convert the clipboard, override these routines. }
  94.             PROCEDURE TApplication.DoSuspend(VAR doClipConvert:Boolean);
  95.             PROCEDURE TApplication.DoResume(VAR doClipConvert:Boolean);
  96.  
  97.         { Utility routines }
  98.             FUNCTION TApplication.TrapAvailable(tNumber:integer;tType:TrapType):Boolean;
  99.             FUNCTION TApplication.DocList:TDocumentList;
  100.             
  101.             { Return total stack and heap space required in bytes. Returns 0 by default. }
  102.             FUNCTION TApplication.StackNeeded: Longint;
  103.             FUNCTION TApplication.HeapNeeded: Longint;
  104.             
  105.             { Utility routines you will need ot provide to do MultiFinder stuff }
  106.             FUNCTION TApplication.SleepVal: LongInt;
  107.     END;
  108.     
  109. IMPLEMENTATION
  110.  
  111. {$I UApplication.inc1.p}
  112.  
  113. END.
  114.